Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > 日本語 - Japanese > Japanese How to observe JSF phase inside XPages
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

Community articleJapanese How to observe JSF phase inside XPages
Added by ~Rebecca Minfreevitchobu | Edited by ~Rebecca Minfreevitchobu on March 18, 2013 | Version 2
expanded Abstract
collapsed Abstract
XPages の裏側のでは JavaServer Faces の技術が使われています。より良い XPages アプリケーションを作成するには、この JSF の仕組みの理解が必要です。この記事では XPages の裏側で動く JSF のライフサイクルの動きを知るための方法を紹介します。
Tags: XPages JSF
ShowTable of Contents
HideTable of Contents
  • 1 はじめに
  • 2 faces-config.xml の設定

はじめに

XPages の裏側のでは JavaServer Faces の技術が使われています。より良い XPages アプリケーションを作成するには、この JSF の仕組みの理解が必要です。この記事では XPages の裏側で動く JSF のライフサイクルの動きを知るための方法を紹介します。

 

faces-config.xml の設定

JSF ライフサイクルのフェーズを表示するには、フェーズリスナーとなる Java クラスを実装し、JSF コンテナに登録する必要があります。XPages の場合も、普段は見えないですが NSF ファイルの中に JSF の設定が隠れています。

Domino Designer のメニューから 「ウィンドウ」→「Eclipse ビューの表示」→「パッケージエクスプローラ」を選択して。パッケージエクスプローラーを表示します。これは NSF 内部の設計要素を Eclipse File System を通してひょうじします。

WebContent\WEB-IN フォルダの下の \faces-config.xsml を開き、以下のような <lifecycle> 定義を追加します。
 
{code}
   
        mypackage.MyPhaseListener
   

 

先ほど定義した faces-config.xml にし従い、JSF ライフサイクルを表示するフェーズリスナーを実装します。

Domino Designer で「アプリケーション」タブに戻り「コード/Java」で新規の Java クラスを以下のように定義します。これは先ほどの faces-config.xml に合わせて設定します。

パッケージ:  mypackage

クラス:   MyPhaseListener

 

package mypackage;
 
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
 
public class MyPhaseListener implements PhaseListener {
 
    private static final long serialVersionUID = 1L;
 
    public PhaseId getPhaseId() {
        return PhaseId.ANY_PHASE;
    }
 
 
    public void beforePhase(PhaseEvent phaseEvent) {
        System.out.println("=== フェーズ開始 " + phaseEvent.getPhaseId().toString());
    }
    
    public void afterPhase(PhaseEvent phaseEvent) {
        System.out.println("=== フェーズ終了 " + phaseEvent.getPhaseId().toString());
        if (phaseEvent.getPhaseId().equals(PhaseId.RENDER_RESPONSE)) {
            System.out.println("=== XPage 処理完了");
            System.out.println(".");System.out.println(".");
        }
    }
}
}
expanded Attachments (0)
collapsed Attachments (0)
expanded Versions (10)
collapsed Versions (10)
Version Comparison     
VersionDateChanged by              Summary of changes
10Mar 19, 2013, 11:48:34 PM~Justin Elwemarynds  
9Mar 19, 2013, 11:47:31 PM~Rebecca Minfreevitchobu  
8Mar 19, 2013, 11:46:51 PM~Rebecca Minfreevitchobu  
7Mar 19, 2013, 11:11:11 PM~Rebecca Minfreevitchobu  
6Mar 18, 2013, 3:22:12 PM~Rebecca Minfreevitchobu  
5Mar 18, 2013, 3:20:52 PM~Rebecca Minfreevitchobu  
4Mar 18, 2013, 3:20:14 PM~Rebecca Minfreevitchobu  
3Mar 18, 2013, 3:12:51 PM~Rebecca Minfreevitchobu  
This version (2)Mar 18, 2013, 3:11:41 PM~Rebecca Minfreevitchobu  
1Mar 18, 2013, 3:02:31 PM~Rebecca Minfreevitchobu  
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility